postman 어플에 접속해서 양식에 맞추어서 작성한 후 노트보고 공부하기
In [2]:
import requests
def send_sms(send_phone, dest_phone, content, subject=None):
base_url = "http://api.openapi.io/ppurio/1/message/sms/dobestan"
headers = {
'x-waple-authorization': 'MTkyMC0xNDEzODU0NTAwMzU3LTllM2VkOTM3LTYwMTEtNGU2Zi1iZWQ5LTM3NjAxMTNlNmYyMg==',
}
payload = {
'send_phone': send_phone,
'dest_phone': dest_phone,
'msg_body': content,
'subject': subject,
}
response = requests.post(
base_url,
data=payload,
headers=headers,
)
return response
def send_sms_myself(content):
MY_PHONE_NUMBER = "01022205736"
return send_sms(MY_PHONE_NUMBER, MY_PHONE_NUMBER, content)
In [3]:
# 1. SMS 발송 함수 => Decorator
# 2. Slack API => Message
In [4]:
import time
import datetime
def sms(function):
def wrapper(*args, **kwargs):
name = function.__name__
current_time = str(datetime.datetime.now())
send_sms_myself("{name} function 을 실행합니다. - {time}".format(name=name, time=current_time))
result = function(*args, **kwargs)
current_time = str(datetime.datetime.now())
send_sms_myself("{name} function 이 성공적으로 끝났습니다. - {time}".format(name=name, time=current_time))
return wrapper
In [5]:
@sms
def crawling():
time.sleep(3)
@sms
def preprocess():
time.sleep(5)
def start():
crawling()
preprocess()
In [6]:
start()
#크롤링이 시작됐다가 다 끝나면 전처리가 시작됨
In [7]:
from datetime import timezone
from datetime import datetime
datetime.now() # UTC ( UTC+9 )
Out[7]:
In [8]:
#이제 Slack으로 들어와서. 팀 만들고. app추가해서. incoming webhooks 추가
#그 채널 안에 만들고 URL 복붙하기
import requests
import json
def send_slack(channel, username, icon_emoji, message):
base_url = "https://hooks.slack.com/services/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"
payload = {
"channel": channel,
"username": username,
"icon_emoji": icon_emoji,
"text": message,
}
response = requests.post(
base_url,
data=json.dumps(payload),
)
return response
In [9]:
send_slack("#dss", "kk", ":slack", "안녕하세요").content
#한글 적어도 json 덤프스가 해줄 것이기 때문에 괜찮다.
Out[9]:
In [10]:
# HTTP Method ( GET, POST ) : 서버에 데이터를 전송하는 방식
# 반대로 서버가 클라이언트한테 주는 정보가 있다.
# status_code
# 1XX ...
# 2XX Successful ( 200 OK; 201 CREATED; )
# 3XX Redirect
# 4XX Failed => 서버에서는 정상적으로 문제없이 돌아가는데 => 뭔가 너가 보낸 정보가 이상하다
# 5XX Server Error ( Internal Server Error )
In [11]:
# 밑에 내용을 해볼 것
# Gmail => API 형태로 메일을 보낼 수가 있습니다.
# Gmail...
# 강사님 자주 쓰는 것. SMS, Slack, Email(Gmail => Mailgun...)
In [12]:
# 주말 동안 해 볼 것
# @sms 단, 데코레이터를 써서
# @slack
def crawling(keyword):
# 키워드를 받아서 그 키워드에 대한 네이버 중고나라 크롤링
# 결과로 dict, list 등의 데이터를 전달
pass
# @sms
# @slack
def preprocess(data):
# 받아온 데이터에서 의미 있는 정보만 뽑아내는거 => 휴대폰(전처리), 첫 번째 이미지 등
# 을 뽑아 와서 csv 파일로 저장
pass
# 크롤링, 전처리를 하나의 사이클 ( + SMS, Slack )
# 다음주 Pandas, Numpy ( 9H = 4H + 5H )
# 다다음주 Pandas ... => DB ( SQL )(20H) => 16H(SQL+Pandass) + 4H
# => SQL, Pandas ( Y/n )
# => 관계형 Database ( RDBS ) => MongodDB ( Non-관계형 )
In [ ]: